Serialized, self-timed chip input-output (I/O) is gaining momentum. It is expected to replace many wide bi-directional and shared buses by creating separate high-speed, serial communication lanes. The 8B/10B transmission code described in U.S. Pat. No. 4,486,739, by Franaszek and Widmer, entitled “Byte Oriented DC Balanced (0,4) 8B/10B Partition Block Transmission Code,” the disclosure of which is hereby incorporated by reference, is well entrenched in the industry for this kind of application because of its easy implementation and transmission characteristics.
For a detailed discussion of the 8B/10B transmission code, see U.S. Pat. No. 4,486,739. Generally, in an 8B/10B transmission code, a ten-bit vector is created from a six-bit coded vector and a four-bit coded vector. The six-bit coded vector is created from a five-bit source vector. Similarly, the four-bit coded vector is created from a three-bit source vector. The coded vectors are created and combined in such a way as to reduce or eliminate any Direct Current (DC) components in a stream of coded vectors. Coded (and source) vectors have disparity. The disparity of a block of data is the difference between the number of ones and zeros in the block. Positive and negative disparity numbers refer to an excess of ones or zeros, respectively. Disparity is used to determine what coded vector is transmitted. For instance, unbalanced coded vectors have primary and alternate coded vectors, and the selection of whether the primary coded vector or the alternate coded vector is chosen for transmission is determined by disparity. An unbalanced coded vector has a disparity that is not zero. As an example, a source vector having three bits could be 000. A primary coded vector for a 3B/4B transmission code corresponding to this source vector is 0100. An alternate coded vector corresponding to this source vector is 1011 (i.e., the bitwise inverse of 0100). The primary vector is chosen if the disparity prior to the coded vector is positive and the alternate vector is chosen if the disparity prior to the coded vector is negative. Additional details about disparity and rules concerning disparity are found in U.S. Pat. No. 5,245,339.
A clear trend is to higher transmission speed, which traditionally has been handled by multiple coder-decoder (CoDec) circuits in parallel. For example, U.S. Pat. No. 5,245,339, by Cideciyan, entitled “Flexible Encoding Method and Architecture for High Speed Data Transmission and Storage,” the disclosure of which is hereby incorporated by reference, teaches an improved method of operating multiple encoders in parallel.
However, there is still a need to further increase the speeds of encoding and decoding when using 8B/10B transmission codes.